package uml.class_diagram;

public class HashTest {
	
	int hashSeed = 5;

	public static void main(String[] args) {
//		HashTest ht = new HashTest();
//		
//		System.out.println(ht.hash(new HashTest()));
		int i = 5;
		int j = 6;
		System.out.println(5^6);

	}
	
	 final int hash(Object k) {
	        int h = hashSeed;
	        if (0 != h && k instanceof String) {
	            return sun.misc.Hashing.stringHash32((String) k);
	        }
	        System.out.println("k.hashCode:" + k.hashCode());
	        h ^= k.hashCode();

	        // This function ensures that hashCodes that differ only by
	        // constant multiples at each bit position have a bounded
	        // number of collisions (approximately 8 at default load factor).
	        
	        System.out.println("h1:" + h);
	        
	        h ^= (h >>> 20) ^ (h >>> 12);
	        
	        System.out.println("h2:" + h);
	        
	        return h ^ (h >>> 7) ^ (h >>> 4);
	    }

}
